/**
 * 
 */
package com.wolfpire.info.model;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.springframework.format.annotation.DateTimeFormat;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.wolfpire.system.common.Constants;
import com.wolfpire.system.common.UnCover;

/**
 * 学校 基本信息表
 * @author lihd
 *
 */

@Entity
@Table(name = "t_school_base_info")
public class SchoolBaseInfo implements Serializable {
	
	private static final long serialVersionUID = 4936168874919628581L;

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Column(name = "id", unique = true, nullable = false, length = 16)
	private Long id;//主键Id
	
	@Column(name = "name", length = 50)
	private String name; //学校名称
	
	@Column(name = "remark", length = 500)
	private String remark; //描述
	
	@Column(name = "legal_representative_id", length = 16)
	private Long legalRepresentativeId;//法人代表Id
	
	@Column(name = "legal_representative_name", length = 50)
	private String legalRepresentativeName; //法人姓名
	
	@Column(name = "legal_representative_post_name", length = 50)
	private String legalRepresentativePostName; //法人职务
	
	@Column(name = "legal_representative_office_phone", length = 20)
	private String legalRepresentativeOfficePhone; //法人办公室电话
	
	@Column(name = "legal_representative_fax_number", length = 20)
	private String legalRepresentativeFaxNumber; //法人传真号码
	
	@Column(name = "legal_representative_mobile_phone", length = 20)
	private String legalRepresentativeMobilePhone; //法人手机号码
	
	@Column(name = "legal_representative_email", length = 50)
	private String legalRepresentativeEmail; //法人电子邮箱 
	
	@Column(name = "linkman_id", length = 16)
	private Long linkManId;//联系人
	
	@Column(name = "linkman_name", length = 50)
	private String linkManName; //联系人姓名
	
	@Column(name = "linkman_post_name", length = 50)
	private String linkManPostName; //联系人职务
	
	@Column(name = "linkman_office_phone", length = 20)
	private String linkManOfficePhone; //联系人办公室电话
	
	@Column(name = "linkman_fax_number", length = 20)
	private String linkManFaxNumber; //联系人传真号码
	
	@Column(name = "linkman_mobile_phone", length = 20)
	private String linkManMobilePhone; //联系人手机号码
	
	@Column(name = "linkman_email", length = 50)
	private String linkManEmail; //联系人电子邮箱 
	
	@Column(name = "address", length = 500)
	private String address; //地址
	
	@Column(name = "postcode")
	private String postcode; //邮政编码
	
	@Column(name = "staff_num", length = 10)
	private Integer staffNum; //教职工数
	
	@Column(name = "floor_area", length = 20)
	private String floorArea; //占地面积
	
	@Column(name = "avg_floor_area", length = 20)
	private String avgFloorArea; //生均占地面积
	
	@Column(name = "building_area", length = 20)
	private String buildingArea; //建筑面积
	
	@Column(name = "avg_buiding_area", length = 20)
	private String avgBuidingArea; //生均建筑面积
	
	@Column(name = "fixed_assets", length = 20)
	private String fixedAssets; //固定资产
	
	@Column(name = "internal_num", length = 10)
	private Integer internalNum; //在校生人数
	
	@Column(name = "full_time_num", length = 10)
	private Integer fullTimeNum; //全日制
	
	@Column(name = "part_time_num", length = 10)
	private Integer partTimeNum; //非全日制
	
	@Column(name = "enroll_num", length = 10)
	private Integer enrollNum; // 招人数
	
	@Column(name = "enroll_full_num", length = 10)
	private Integer enrollFullNum; //全日制招生数
	
	@Column(name = "enroll_part_num", length = 10)
	private Integer enrollPartNum; //非全日制招生数
	
	@Column(name = "del_flag", length = 1)
	private Integer delFlag = Constants.NORMAL_FLAG;//伪删标识
	
	@Column(name = "create_user_id", length = 16)
	private Long createUserId; //创建用户Id
	
	@Column(name = "create_user_name", length = 50)
	private String createUserName; //创建用户名称
	
	@UnCover
	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "create_time")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")  
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") 
	private Date createTime = new Date();//创建时间

	public SchoolBaseInfo() {
		super();
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Long getLegalRepresentativeId() {
		return legalRepresentativeId;
	}

	public void setLegalRepresentativeId(Long legalRepresentativeId) {
		this.legalRepresentativeId = legalRepresentativeId;
	}

	public String getLegalRepresentativeName() {
		return legalRepresentativeName;
	}

	public void setLegalRepresentativeName(String legalRepresentativeName) {
		this.legalRepresentativeName = legalRepresentativeName;
	}

	public String getLegalRepresentativePostName() {
		return legalRepresentativePostName;
	}

	public void setLegalRepresentativePostName(String legalRepresentativePostName) {
		this.legalRepresentativePostName = legalRepresentativePostName;
	}

	public String getLegalRepresentativeOfficePhone() {
		return legalRepresentativeOfficePhone;
	}

	public void setLegalRepresentativeOfficePhone(
			String legalRepresentativeOfficePhone) {
		this.legalRepresentativeOfficePhone = legalRepresentativeOfficePhone;
	}

	public String getLegalRepresentativeFaxNumber() {
		return legalRepresentativeFaxNumber;
	}

	public void setLegalRepresentativeFaxNumber(String legalRepresentativeFaxNumber) {
		this.legalRepresentativeFaxNumber = legalRepresentativeFaxNumber;
	}

	public String getLegalRepresentativeMobilePhone() {
		return legalRepresentativeMobilePhone;
	}

	public void setLegalRepresentativeMobilePhone(
			String legalRepresentativeMobilePhone) {
		this.legalRepresentativeMobilePhone = legalRepresentativeMobilePhone;
	}

	public String getLegalRepresentativeEmail() {
		return legalRepresentativeEmail;
	}

	public void setLegalRepresentativeEmail(String legalRepresentativeEmail) {
		this.legalRepresentativeEmail = legalRepresentativeEmail;
	}

	public Long getLinkManId() {
		return linkManId;
	}

	public void setLinkManId(Long linkManId) {
		this.linkManId = linkManId;
	}

	public String getLinkManName() {
		return linkManName;
	}

	public void setLinkManName(String linkManName) {
		this.linkManName = linkManName;
	}

	public String getLinkManPostName() {
		return linkManPostName;
	}

	public void setLinkManPostName(String linkManPostName) {
		this.linkManPostName = linkManPostName;
	}

	public String getLinkManOfficePhone() {
		return linkManOfficePhone;
	}

	public void setLinkManOfficePhone(String linkManOfficePhone) {
		this.linkManOfficePhone = linkManOfficePhone;
	}

	public String getLinkManFaxNumber() {
		return linkManFaxNumber;
	}

	public void setLinkManFaxNumber(String linkManFaxNumber) {
		this.linkManFaxNumber = linkManFaxNumber;
	}

	public String getLinkManMobilePhone() {
		return linkManMobilePhone;
	}

	public void setLinkManMobilePhone(String linkManMobilePhone) {
		this.linkManMobilePhone = linkManMobilePhone;
	}

	public String getLinkManEmail() {
		return linkManEmail;
	}

	public void setLinkManEmail(String linkManEmail) {
		this.linkManEmail = linkManEmail;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public String getPostcode() {
		return postcode;
	}

	public void setPostcode(String postcode) {
		this.postcode = postcode;
	}

	public Integer getStaffNum() {
		return staffNum;
	}

	public void setStaffNum(Integer staffNum) {
		this.staffNum = staffNum;
	}

	public String getFloorArea() {
		return floorArea;
	}

	public void setFloorArea(String floorArea) {
		this.floorArea = floorArea;
	}

	public String getAvgFloorArea() {
		return avgFloorArea;
	}

	public void setAvgFloorArea(String avgFloorArea) {
		this.avgFloorArea = avgFloorArea;
	}

	public String getBuildingArea() {
		return buildingArea;
	}

	public void setBuildingArea(String buildingArea) {
		this.buildingArea = buildingArea;
	}

	public String getAvgBuidingArea() {
		return avgBuidingArea;
	}

	public void setAvgBuidingArea(String avgBuidingArea) {
		this.avgBuidingArea = avgBuidingArea;
	}

	public String getFixedAssets() {
		return fixedAssets;
	}

	public void setFixedAssets(String fixedAssets) {
		this.fixedAssets = fixedAssets;
	}

	public Integer getInternalNum() {
		return internalNum;
	}

	public void setInternalNum(Integer internalNum) {
		this.internalNum = internalNum;
	}

	public Integer getFullTimeNum() {
		return fullTimeNum;
	}

	public void setFullTimeNum(Integer fullTimeNum) {
		this.fullTimeNum = fullTimeNum;
	}

	public Integer getPartTimeNum() {
		return partTimeNum;
	}

	public void setPartTimeNum(Integer partTimeNum) {
		this.partTimeNum = partTimeNum;
	}

	public Integer getEnrollNum() {
		return enrollNum;
	}

	public void setEnrollNum(Integer enrollNum) {
		this.enrollNum = enrollNum;
	}

	public Integer getEnrollFullNum() {
		return enrollFullNum;
	}

	public void setEnrollFullNum(Integer enrollFullNum) {
		this.enrollFullNum = enrollFullNum;
	}

	public Integer getEnrollPartNum() {
		return enrollPartNum;
	}

	public void setEnrollPartNum(Integer enrollPartNum) {
		this.enrollPartNum = enrollPartNum;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public Integer getDelFlag() {
		return delFlag;
	}

	public void setDelFlag(Integer delFlag) {
		this.delFlag = delFlag;
	}

	public Long getCreateUserId() {
		return createUserId;
	}

	public void setCreateUserId(Long createUserId) {
		this.createUserId = createUserId;
	}

	public String getCreateUserName() {
		return createUserName;
	}

	public void setCreateUserName(String createUserName) {
		this.createUserName = createUserName;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

}
